package com.hws.leetcode.Day_12_21;

/**
 * ClassName:daily
 * Package:com.hws.leetcode.Day_12_21
 * Description:计算一年中的第几天【easy】
 * 给你一个字符串 date ，按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。
 * 请你计算并返回该日期是当年的第几天。
 * <p>
 * 通常情况下，我们认为 1 月 1 日是每年的第 1 天，1 月 2 日是每年的第 2 天，依此类推。
 * 每个月的天数与现行公元纪年法（格里高利历）一致。
 * <p>
 * 输入：date = "2019-01-09"
 * 输出：9
 *
 * @ date:2021/12/21 11:24
 * @ author:hws
 */
public class daily {

    public int dayOfYear(String date) {
        int[] Days = new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        int year = Integer.parseInt(date.substring(0, 4));
        int month = Integer.parseInt(date.substring(5, 7));
        int day = Integer.parseInt(date.substring(8, 10));
        int res = 0;
        for (int i = 0; i < month - 1; i++) {
            res += Days[i];
        }
        if ((year > 2) && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))) {
            res++;
        }
        return (res + day);
    }

    public static void main(String[] args) {
        daily d = new daily();
        System.out.println(d.dayOfYear("2012-01-02"));
    }
}
